使用GB28181从海康NVR设备上获取实时视频 您所在的位置:网站首页 海康 gb28181 使用GB28181从海康NVR设备上获取实时视频

使用GB28181从海康NVR设备上获取实时视频

2024-07-10 09:44| 来源: 网络整理| 查看: 265

本人现在已经不做音视频方向了,所以大家的一些疑问可能无法解答,相关资料基本都在下载链接中,希望可以帮助到大家。

 

正文:

最近在调研使用GB28181协议获取海康NVR设备上的实时视音频数据,真的是搞了好久才弄好。

这在里记录一下调研过程中遇到的问题。要想获取海康NVR上绑定摄像头的实时音视频流,需要将海康NVR开启接入服务,SIP服务器的地址填写我们程序的地址信息,ID号随便搞一个,启用这个服务之后,NVR会不断的向填写的地址发送 Register消息,我们的程序接收注册消息即可,直接回复200OK也可以。

 

 

然后NVR注册成功之后。我们就可以给NVR发送查询或者获取实时视音频/录像文件的请求了。这些在GB28181标准文档里面都有。查询NVR上绑定了那些摄像头使用的是Message消息,获取音视频数据使用的是 Invite命令。和NVR之间传输音视频数据使用的是rtp协议。

下面说一下和NVR交互过程中需要注意的地方:

 

1.发送消息的时候要注意 头部的 from/to字段中的数据 2.想要NVR服务器返回消息的话,需要让NVR作为客户端,开启NVR的 GB28181平台接入功能,然后服务器填写自己本机的IP地址,然后NVR会自动发送注册信息给你,注册成功之后,就可以正常的查询NVR的设备目录等一系列信息了 3.当需要查询录像文件信息的时候,需要使用要查询的摄像头的ID号来查询,不能使用 NVR的ID号来查询,否则 NVR会一直回应 400错误的请求 4.发送给 NVR的获取录像文件的 invite邀请,invite中的 SDP信息中必须含有 u字段,u字段说明要获取的是哪个摄像头的录像文件 5.发送Bye消息给 NVR或者摄像机都回复我 481 Call Leg/Transaction Does Not Exist,一直以为发送的 DeviceID不对,各种查找原因,最后仔细看了一下,发现应该是说 Transaction这个事物不存在导致的,而一个事物的标记是由 Call-id、local tag、remote tag三者值相同代表一个 dialog, 所以发送 Bye消息的时候,这三个值一定要和发送 Invite消息的时候一致,否则 NVR或者IPC就会返回 481告知没有这个对话或者事物 6.NVR发送的 Keepalive状态信息报送消息,回复200ok即可 7.当客户端第一次接入时,客户端将持续向Server端发送REGISTER消息,直到Server端回复"200 OK"后结束 8.查询NVR上的摄像头信息 要填写NVR ID,要获取某个摄像头上的录像信息的时候,需要填写摄像头所在通道号的ID。     最后是遇到问题可以多看一下GB28181的标准文档,那些字段填写什么里面基本都有说明。   GB28181标准文档下载地址:http://download.csdn.net/detail/lt_lover/9742585 GB28181调研ppt下载地址:http://download.csdn.net/detail/lt_lover/9742586 调研ppt csdn积分过高,可以百度云链接直接下载:https://pan.baidu.com/s/11pt0kw3_udlHr1--zb2f-g  密码:pyso

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有